package data;

/**
 * TokenCounter adalah kelas untuk menyimpan jumlah token dalam dokumen
 * @author Muqtafi Akhmad
 */
public abstract class TokenCounter {

    /**
     * mengisikan koleksi dokumen yang direferensi oleh token counter
     * @param documentCollection koleksi dokumen
     */
    public void setDocumentCollection(DocumentCollection documentCollection) {
        this.documentCollection = documentCollection;
    }

    /**
     * mengembalikan referensi ke koleksi dokumen
     * @return referensi ke koleksi dokumen yang dibaca
     */
    public DocumentCollection getDocumentCollection() {
        return documentCollection;
    }
    /**
     * referensi ke koleksi dokumen
     */
    private DocumentCollection documentCollection;

    /**
     * menggabungkan token counter dengan objek token counter lain
     * @param anotherCounter counter lain
     */
    public abstract void merge(TokenCounter anotherCounter);
}
